/**
 * jQuery插件开发方式第一种方法：
 * $.extend(dest,src1,src2,src3...)来扩展jQuery，用一个或多个其他对象来扩展一个对象，返回被扩展的对象
 *它的含义是将src1,src2,src3...合并到dest中,返回值为合并后的dest,由此可以看出该方法合并后，是修改了dest的结构的。如果想要得到合并的结果却又不想修改dest的结构，可以如下使用：
 */

var result=$.extend({},{name:'骆泽熙'},{name:'骆柏燃',age:21,sex:'男'})//也就是将{}作为dest参数使用
console.log(result);//{name:'骆柏燃',age:21,sex:'男'}  如果前面和后面的参数存在相同的名称，那么后面的会覆盖前面的参数值

/**
 * 为jQuery类添加类方法，可以理解为添加静态方法
 * $.extend(src)dest参数是可以省略的，如果省略了，则该方法就只能有一个src参数，而且是将该src合并到调用extend方法的对象中去
 * 将log方法合并到全局对象中
 */
$.extend({
    log: function (massge) { //log是插件的名字
        var now=new Date();
        y=now.getFullYear();
        m=now.getMonth()+1;//javaScript中月份是从0开始的
        d=now.getDate();
        h=now.getHours();
        m=now.getMinutes();
        s=now.getSeconds();
        time=y+'/'+m+'/'+d+'/'+h+':'+m+':'+s
        console.log(time+'My App'+massge);
    }
});

$.log('初始化...');//$.extend()的调用不会把方法扩展到对象的实例上，所以调用它的方法时通过jQuery类($)来实现

/**
 * $.fn.extend()对jQuery.prototype进行扩展，就是为jQuery类添加‘成员函数’，jQuery类的实例就可以使用这个‘成员函数’
 * 等同于$.prototype.extend()
 */
  //实例:比如我们要开发一个插件，做一个特殊的编辑框，当它被点击时，便alert 当前编辑框里的内容。

$.fn.extend({
    alertWhielClick: function () {
        $(this).click(function () {
            alert($(this).val());
        })
    }
})

$('#input1').alertWhielClick(); //$('#input1')为一个jQuery实例，当它调用成员方法alertWhielClick后，便实现了扩展
